package com.blrs.service.other.impl;

import java.sql.Timestamp;
import java.util.*;

import com.blrs.common.utils.DateUtils;
import com.blrs.common.utils.SecurityUtils;
import com.blrs.system.mapper.SysUploadFileMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.blrs.mapper.DeptOtherInfoMapper;
import com.blrs.domain.DeptOtherInfo;
import com.blrs.service.other.IDeptOtherInfoService;

/**
 * 企业基本信息-其他信息Service业务层处理
 *
 * @author wang.chao
 * @date 2024-05-07
 */
@Service
public class DeptOtherInfoServiceImpl implements IDeptOtherInfoService {
    @Autowired
    private DeptOtherInfoMapper deptOtherInfoMapper;
    @Autowired
    private SysUploadFileMapper uploadFileMapper;

    /**
     * 查询企业基本信息-其他信息
     *
     * @param id 企业基本信息-其他信息主键
     * @return 企业基本信息-其他信息
     */
    @Override
    public DeptOtherInfo selectDeptOtherInfoById(String id) {
        return deptOtherInfoMapper.selectDeptOtherInfoById(id);
    }

    /**
     * 查询企业基本信息-其他信息列表
     *
     * @param deptOtherInfo 企业基本信息-其他信息
     * @return 企业基本信息-其他信息
     */
    @Override
    public List<DeptOtherInfo> selectDeptOtherInfoList(DeptOtherInfo deptOtherInfo) {
        return deptOtherInfoMapper.selectDeptOtherInfoList(deptOtherInfo);
    }

    @Override
    public List selectDeptOtherInfoListByType(DeptOtherInfo deptOtherInfo) {
        List<DeptOtherInfo> deptOtherInfos  = deptOtherInfoMapper.selectDeptOtherInfoList(deptOtherInfo);
        List<Object> list = new ArrayList<>();
        Map<String,Object> map = new HashMap<>();
        map.put("listitem",deptOtherInfos);
        list.add(map);
        return list;
    }

    /**
     * 新增企业基本信息-其他信息
     *
     * @param deptOtherInfo 企业基本信息-其他信息
     * @return 结果
     */
    @Override
    public int insertDeptOtherInfo(DeptOtherInfo deptOtherInfo) {
        deptOtherInfo.setCreateTime(DateUtils.getNowDate());
        deptOtherInfo.setCreateId(SecurityUtils.getUserId().toString());
        deptOtherInfo.setCreateName(SecurityUtils.getUsername());
        deptOtherInfo.setOperateTime(new Timestamp(new Date().getTime()));
        deptOtherInfo.setOperateName(SecurityUtils.getUsername());
        deptOtherInfo.setOperateId(SecurityUtils.getUserId());
        deptOtherInfo.setBelongTo(SecurityUtils.getOrgId().toString());
        return deptOtherInfoMapper.insertDeptOtherInfo(deptOtherInfo);
    }

    /**
     * 修改企业基本信息-其他信息
     *
     * @param deptOtherInfo 企业基本信息-其他信息
     * @return 结果
     */
    @Override
    public int updateDeptOtherInfo(DeptOtherInfo deptOtherInfo) {
        return deptOtherInfoMapper.updateDeptOtherInfo(deptOtherInfo);
    }

    /**
     * 批量删除企业基本信息-其他信息
     *
     * @param ids 需要删除的企业基本信息-其他信息主键
     * @return 结果
     */
    @Override
    public int deleteDeptOtherInfoByIds(String[] ids) {
        uploadFileMapper.deleteSysUploadFileByBusinessId(ids[0]);
        return deptOtherInfoMapper.deleteDeptOtherInfoByIds(ids);
    }

    /**
     * 删除企业基本信息-其他信息信息
     *
     * @param id 企业基本信息-其他信息主键
     * @return 结果
     */
    @Override
    public int deleteDeptOtherInfoById(String id) {
        return deptOtherInfoMapper.deleteDeptOtherInfoById(id);
    }
}
